#pragma once
#include "AccessGenerater.h"
#include "VDisk.h"
#include "PowerManagement.h"
#include "LRU_Stack.h"
#include <vector>
#include <iostream>
#include <fstream>

class Simulate_System
{
public:
	Simulate_System(int disk_number);
	Simulate_System(int disk_number, int pirority_disks, int p_type=1);
	~Simulate_System(void);

	std::vector<VDisk*> m_disks;
	std::vector<AccessGenerater*> m_accessers;
	LRU_Stack m_lru_stack;

	int m_time;
	int real_accress;
	int power_total;
	void diskactive(int id);
	void update(std::ofstream& out);
};

